--
-- @Author:      feilong
-- @DateTime:    2019-04-28 01:29:00
-- @Description: 服务器管理

local table_insert = table.insert
local table_remove = table.remove

local ServerManager = class("ServerManager")

--初始化
function ServerManager:ctor()
    self.server_list = {}    
end

--添加服务器信息
function ServerManager:addServer(server_info)
    local name = server_info:getName()
    self.server_list[name] = server_info    
    return server_info
end

--获取服务器信息
function ServerManager:getServer(name)
    return self.server_list[name]
end

--移除服务器信息
function ServerManager:removeServer(name)
    if self.server_list[name] then 
        self.server_list[name] = nil
        return true
    end
    return false
end

--获取服务器列表
function ServerManager:getServerList()
    return self.server_list
end

--获取服务器信息
function ServerManager:getServersByType(server_type)    
    local server_list = {}
    for _, server_info in pairs(self.server_list) do         
        if server_info:getType() == server_type then 
            table_insert(server_list, v)
        end
    end    
    return server_list
end













return ServerManager

